var main, menu, mask;
var showMenu = false;

//mui初始化
mui.init({
	swipeBack: false,
	beforeback: back
});

function back() {
	if(showMenu) {
		//菜单处于显示状态，返回键应该先关闭菜单,阻止主窗口执行mui.back逻辑；
		closeMenu();
		return false;
	} else {
		//菜单处于隐藏状态，执行返回时，要先close菜单页面，然后继续执行mui.back逻辑关闭主窗口；
		menu.close('none');
		return true;
	}
}
// plusReady事件后，自动创建menu窗口；
mui.plusReady(function() {
	
	main = plus.webview.currentWebview();
	//setTimeout的目的是等待窗体动画结束后，再执行create webview操作，避免资源竞争，导致窗口动画不流畅；
	setTimeout(function() {
		//侧滑菜单默认隐藏，这样可以节省内存；
		menu = mui.preload({
			id: 'menu',
			url: 'pages/public/menu.html',
			styles: {
				left: 0,
				width: '70%',
				zindex: 9997
			}
		});
	}, 300);
	mask = mui.createMask(_closeMenu);
});

/**
 * 显示菜单菜单
 */
function openMenu() {
	if(!showMenu) {
		//侧滑菜单处于隐藏状态，则立即显示出来；
		//显示完毕后，根据不同动画效果移动窗体；
		menu.show('none', 0, function() {
			//主窗体开始侧滑；
			main.setStyle({
				left: '70%',
				transition: {
					duration: 150
				}
			});
		});
		mask.show();
		showMenu = true;
	}
}
/**
 * 关闭侧滑菜单
 */
function closeMenu() {
	_closeMenu();
	//关闭遮罩
	mask.close();
}

/**
 * 关闭侧滑菜单（业务部分）
 */
function _closeMenu() {
	if(showMenu) {
		// 主窗体开始侧滑；
		main.setStyle({
			left: '0',
			transition: {
				duration: 150
			}
		});

		// 等窗体动画结束后，隐藏菜单webview，节省资源；
		setTimeout(function() {
			menu.hide();
		}, 200);
		//改变标志位
		showMenu = false;
	}
}

//点击左上角图标，打开侧滑菜单；
document.querySelector('.mui-icon-bars').addEventListener('tap', openMenu);
//在android4.4中的swipe事件，需要preventDefault一下，否则触发不正常
//故，在dragleft，dragright中preventDefault
window.addEventListener('dragright', function(e) {
	e.detail.gesture.preventDefault();
});
window.addEventListener('dragleft', function(e) {
	e.detail.gesture.preventDefault();
});
//主界面向右滑动，若菜单未显示，则显示菜单；否则不做任何操作；
window.addEventListener("swiperight", openMenu);
//主界面向左滑动，若菜单已显示，则关闭菜单；否则，不做任何操作；
window.addEventListener("swipeleft", closeMenu);
//menu页面向左滑动，关闭菜单；
window.addEventListener("menu:swipeleft", closeMenu);

//重写mui.menu方法，Android版本menu按键按下可自动打开、关闭侧滑菜单；
mui.menu = function() {
	if(showMenu) {
		closeMenu();
	} else {
		openMenu();
	}
}

/**
 * 子页面选项卡
 */
var subpages = ["chat_index.html", "contact.html", "find.html", "me.html"];
var subpage_style = {
	top: '45px',
	bottom: '50px'
};

var aniShow = {};

//创建子页面，首个选项卡页面显示，其它均隐藏；
mui.plusReady(function() {
	var self = plus.webview.currentWebview();
	for(var i = 0; i < 4; i++) {
		var temp = {};
		var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);
		if(i > 0) {
			sub.hide();
		} else {
			temp[subpages[i]] = "true";
			mui.extend(aniShow, temp);
		}
		/*
		sub.onloaded = function(){
			closeMenu();
		}*/
		self.append(sub);
	}
});
//当前激活选项
var activeTab = subpages[0];
var title = document.getElementById("title");
//选项卡点击事件
mui('.mui-bar-tab').on('tap', 'a', function(e) {
	var targetTab = this.getAttribute('href');
	if(targetTab == activeTab) {
		return;
	}
	//更换标题
	title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;
	//显示目标选项卡
	//若为iOS平台或非首次显示，则直接显示
	if(mui.os.ios || aniShow[targetTab]) {
		plus.webview.show(targetTab);
	} else {
		//否则，使用fade-in动画，且保存变量
		var temp = {};
		temp[targetTab] = "true";
		mui.extend(aniShow, temp);
		plus.webview.show(targetTab, "fade-in", 300);
	}
	//隐藏当前;
	plus.webview.hide(activeTab);
	//更改当前活跃的选项卡
	activeTab = targetTab;
});
//自定义事件，模拟点击“首页选项卡”
document.addEventListener('gohome', function() {
	var defaultTab = document.getElementById("defaultTab");
	//模拟首页点击
	mui.trigger(defaultTab, 'tap');
	//切换选项卡高亮
	var current = document.querySelector(".mui-bar-tab>.mui-tab-item.mui-active");
	if(defaultTab !== current) {
		current.classList.remove('mui-active');
		defaultTab.classList.add('mui-active');
	}
});

document.querySelector('#mainsearchbtn').addEventListener('click', function() {
	mui.openWindow({
		url: 'pages/public/search.html',
		id: 'pages/public/search.html',
		show: {
			autoShow: true,
			aniShow: 'slide-in-right',
			duration: 100
		},
		waiting: {
			autoShow: true,
			title: 'waiting...'
		},
		extras: {}
	});
});

//mui.plusReady(function() {
	console.log(rt);
	var userinfo = rt.get('userinfo');
	console.log(userinfo.user_id);
	if(!userinfo) {
		mui.openWindow('pages/login/login.html', 'pages/login/login.html');
	}
	if(userinfo) {
		var server = apiurl + 'chat/getlist';
		var chatdata = localStorage.getItem('chatdata');
		if(chatdata) {
			var postparam = {
				"user_id": userinfo.user_id,
				"last_time": chatdata.last_time
			};
			var getsys = setInterval(getwebdata, 2000);
		}

		function getwebdata() {
			console.log(chatdata.list.length);
			mui.getJSON(server, postparam, function(data) {
				console.log(data.last_time);
				if(data.last_time) {
					chatdata.last_time = data.last_time;
					var clist = chatdata.list || [],
						dlist = data.list;
					//console.log(chatdata.last_time);
					//console.log(dlist.length);
					for(var i = 0; i < dlist.length; i++) {
						clist[dlist[i]['m_id']] = dllist[i];
					}
					//chatdata.list = clist;
					myStorage.set('chatdata', chatdata);
				}
			});
		}
	}
//});